home *** CD-ROM | disk | FTP | other *** search
/ MacHack 2001 / MacHack 2001.toast / pc / The Hacks / PageFido / PageController.m < prev    next >
Encoding:
Text File  |  2001-06-23  |  1.6 KB  |  74 lines

  1. #import "PageController.h"
  2.  
  3. @implementation PageController
  4.  
  5. //#define PYSCRIPT @"Users/paul/Documents/fido.py"
  6. #define PYSCRIPT @"./fido.py"
  7. #define MAXLENGTH 160
  8.  
  9. - (void)textDidChange:(NSNotification *)aNotification
  10. {
  11.     int myLen;
  12.     
  13.     myLen = [[senderName stringValue] length] + [[messageText stringValue] length];
  14.     
  15.     [messageLength setIntValue: myLen];
  16. }
  17.  
  18. - (void) awakeFromNib
  19. {
  20.     [self textDidChange:nil];
  21.  
  22.     [[NSNotificationCenter defaultCenter] addObserver:self
  23.     selector:@selector(textDidChange:)
  24.     name:NSTextDidChangeNotification
  25.     object:nil];
  26. }
  27.  
  28. - (IBAction)SendPage:(id)sender
  29. {
  30.     int myLen;
  31.    
  32.     myLen = [[senderName stringValue] length] + [[messageText stringValue] length];
  33.     
  34.     if ( myLen > MAXLENGTH ) {
  35.     
  36.     //APPKIT_EXTERN void NSBeginAlertSheet(NSString *title, NSString *defaultButton, NSString *alternateButton, NSString *otherButton, NSWindow *docWindow, id modalDelegate, SEL didEndSelector, SEL didDismissSelector, void *contextInfo, NSString *msg, ...);
  37.  
  38.     NSBeginAlertSheet(@"Message Length Problem",
  39.     @"Okay",
  40.     nil,
  41.     nil,
  42.     [sender window],
  43.     self,
  44.     NULL,
  45.     NULL,
  46.     sender,
  47.     @"Your page is too long. It cannot exceed 160 characters.",
  48.     nil);
  49.     
  50.     
  51.     } else {
  52.  
  53.     NSTask *pageTask = [[NSTask alloc] init];
  54.     NSMutableArray *args = [NSMutableArray array];
  55.         
  56.     /* set arguments */
  57.     [args addObject:[senderName stringValue]];
  58.     [args addObject:[phoneNumber stringValue]];
  59.     [args addObject:[messageText stringValue]];
  60.     NSLog (@"%@",args);
  61.     [pageTask setLaunchPath:PYSCRIPT];
  62.     [pageTask setArguments:args];
  63.     [pageTask launch];
  64.  
  65.     
  66.     }
  67. }
  68.  
  69. - (IBAction)updateLength:(id)sender
  70. {
  71. }
  72.  
  73. @end
  74.